home *** CD-ROM | disk | FTP | other *** search
- This distribution is a try to run the WB on the A2410 U.Lowell
- TIGA board, sold by Commodore.
- It is not ready. Well it is really hard to rewrite the graphics
- library so I decided to make my work public available.
- Public extensions or further development is welcome.
- The big BUT is : It MUST be public available !
- This makes sure the potential of a lot good shareware
- programmers could help this library become a widely available
- standart.
-
- Some thoughts to the mechanism the library works.
-
- By now it is just a experimental library. It should not be
- used as an Intuition Emulation in this form. What I would like
- to have are Class Libraries for each GfxBoard. Every Gfxfunction
- is a sub set of this Class so new function could be overloaded
- from a new Driver and Standard functions can also be used.
- Well, this is how EGS does things ! I like the way they do it.
- EGS is an alien GUI and it is not based on C, which makes
- the implementation real hard in C (Well, I am writing an EGS
- driver by now, so I know what I'm talking about !).
-
- This would make sure we get an RTG driver some times an
- it is a modern conception because it uses basic objects
- as the main layer. Also it would be easy to write new drivers
- for any other board.
-
- The current library does nothing than just patching around and replacing
- some gfx.library functions. I do not think this is what a modern
- graphics driver should do. But the main function code can be used
- as the basic graphics object code (s. above).
-
- The advantage of objects shows the following illustration :
-
- +-------------------------------------------------------+
- | virtual area (invisible, e.g. superbitmap) |
- | (clipping area) |
- | +-----------------------+ |
- | | visible window | |
- | | | |
- | | \ | |
- | | normal line \ | |
- | +-----------------------+ |
- | \ |
- | \ clipped line |
- +-------------------------------------------------------+
-
- The visible Window would require hardware dependent drawing functions,
- the invisible line could be a standard function (bitmap). Normaly a
- friend of the visible function. This makes converting bitmaps unnecessary
- and would speed things up when updating hidden areas.
- (That's the problem of most Intuition Emulations right now. If the
- hidden area is a plane map, it has to be converted to chunky on refresh !).
-
- To implement this in a RTG.libray - some sort of an OS replacement/enhancement
- of the graphics library - would make this problem obsolent.
-
- In the above example it would be like
-
- if (ClipLine(rect) == visible)
- DrawLine(BOARD0)
- else
- DrawLine(STANDARD)
-
- ....
-
- Well, I know this is a lot of work. Most parts of the graphics.libray has to be
- rewritten - and it must be OS compatible. But it is the only solution to keep
- the graphics engine up to date !
-
- So what has to be done first is to implement a mechanism to decide which class
- to draw. If this does work, the specific code has to be written for different
- gfx boards.
-
- Well, I am not very used to objective programming of the Amiga (except MUI :-)
- so I would think it should be a sort of BOOPSI classes and/or C++ classes !
-
- Maybe if I get a C++ compiler sometimes I will try if it would make sence to
- write C++ classes. Also I should take a look on BOOPSI classes and check out how
- I could implement them into the current gfx.library code ...
-
- On the other side the patches will stay there. It is not possible to hook these
- new functions into the OS so they have to be patched ! Though I think it does not
- make any difference. Patching IS a OS friendly way to hook new functions into the
- system !
-
- If somebody is interessted - go ahead.
- I do not know how much time I have to coordinate such a (BIG !) project...but I
- think there are a lot "wise" guys (and girls ?) out there who could make this
- ideas a future standard. And it will be public available !
- See the source files for more information !
-
- Well, if somebody is interested in finishing the A2410 driver .. let me know.
- (And don't blame me on the code ! =:-)
-
- you can reach me at
-
- Juergen Schober
- Muchargasse 35/1/4
- A-8010 Graz
- AUSTRIA
- ----
- e-mail : point@sbox.tu-graz.ac.at
- (or f9031304@mbox.tu-graz.ac.at)
-